package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excels;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 检索规则对象 t_search_rule
 * 
 * @author ruoyi
 * @date 2024-08-22
 */
public class SearchRule extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 规则名称：名称相同的合并统计 */
    @Excel(name = "规则名称：名称相同的合并统计")
    private String ruleName;

    /** 一级分类 */
    @Excel(name = "一级分类")
    private Long evtTypeId1;

    /** 二级分类 */
    @Excel(name = "二级分类")
    private Long evtTypeId2;

    /** 三级分类 */
    @Excel(name = "三级分类")
    private Long evtTypeId3;

    /** 搜索文字：多个文字用逗号隔开; 字段为空时三级分类不能为空，且包含该分类下所有事件。 */
    @Excel(name = "搜索文字：多个文字用逗号隔开; 字段为空时三级分类不能为空，且包含该分类下所有事件。")
    private String wordToSearch;

    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /**  */
    @Excel(name = "")
    private Long addUserId;

    /**  */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    private Date addTime;


    private EvtType evtType1;
    private EvtType evtType2;
    private EvtType evtType3;

    public EvtType getEvtType1() {
        if (evtType1 == null) {
            evtType1 = new EvtType();
        }
        return evtType1;
    }

    public EvtType getEvtType2() {
        if (evtType2 == null) {
            evtType2 = new EvtType();
        }
        return evtType2;
    }

    public EvtType getEvtType3() {
        if (evtType3 == null) {
            evtType3 = new EvtType();
        }
        return evtType3;
    }

    public void setEvtType1(EvtType evtType1) {
        this.evtType1 = evtType1;
    }

    public void setEvtType2(EvtType evtType2) {
        this.evtType2 = evtType2;
    }

    public void setEvtType3(EvtType evtType3) {
        this.evtType3 = evtType3;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setRuleName(String ruleName) 
    {
        this.ruleName = ruleName;
    }

    public String getRuleName() 
    {
        return ruleName;
    }

    public void setEvtTypeId1(Long evtTypeId1) 
    {
        this.evtTypeId1 = evtTypeId1;
    }

    public Long getEvtTypeId1() 
    {
        return evtTypeId1;
    }

    public void setEvtTypeId2(Long evtTypeId2) 
    {
        this.evtTypeId2 = evtTypeId2;
    }

    public Long getEvtTypeId2() 
    {
        return evtTypeId2;
    }

    public void setEvtTypeId3(Long evtTypeId3) 
    {
        this.evtTypeId3 = evtTypeId3;
    }

    public Long getEvtTypeId3() 
    {
        return evtTypeId3;
    }

    public void setWordToSearch(String wordToSearch) 
    {
        this.wordToSearch = wordToSearch;
    }

    public String getWordToSearch() 
    {
        return wordToSearch;
    }

    public void setAddUserId(Long addUserId) 
    {
        this.addUserId = addUserId;
    }

    public Long getAddUserId() 
    {
        return addUserId;
    }

    public void setAddTime(Date addTime) 
    {
        this.addTime = addTime;
    }

    public Date getAddTime() 
    {
        return addTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("ruleName", getRuleName())
            .append("evtTypeId1", getEvtTypeId1())
            .append("evtTypeId2", getEvtTypeId2())
            .append("evtTypeId3", getEvtTypeId3())
            .append("wordToSearch", getWordToSearch())
            .append("addUserId", getAddUserId())
            .append("addTime", getAddTime())
            .toString();
    }
}
